﻿namespace D.WPF.MVVM.LogUtil
{
    /// <summary>
    /// 优先级：Trace> Debug> Info> Warn> Error> Fatal
    /// </summary>
    public interface INLogService
    {
        /// <summary>
        /// 最常见的记录信息，一般用于普通输出
        /// </summary>
        /// <param name="message"></param>
        void Trace(object message);

        /// <summary>
        /// 最常见的记录信息，一般用于普通输出
        /// </summary>
        /// <param name="source"></param>
        /// <param name="message"></param>
        /// <param name="ps"></param>
        void Debug(Type source, string message, params object[] ps);

        /// <summary>
        /// 信息类型的消息
        /// </summary>
        /// <param name="message"></param>
        void Info(object message);

        /// <summary>
        /// 警告信息，一般用于比较重要的场合
        /// </summary>
        /// <param name="message"></param>
        void Warn(object message);

        /// <summary>
        /// 错误信息
        /// </summary>
        /// <param name="message"></param>
        void Error(object message);

        /// <summary>
        /// 致命异常信息。一般来讲，发生致命异常之后程序将无法继续执行
        /// </summary>
        /// <param name="message"></param>
        void Fatal(object message);
    }
}
